<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="common/include :: header('服务结算单')"/>
</head>
<body>
消费
<div class="ui-layout-center">
    <div class="container-div">
        <div class="row">
            <div class="col-sm-12 search-collapse">
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">客户姓名：</label>
                            <label class="col-sm-6 control-label">[[${statement.customerName}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">联系方式：</label>
                            <label class="col-sm-6 control-label">[[${statement.customerPhone}]]</label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >

                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">车牌号码：</label>
                            <label class="col-sm-6 control-label">[[${statement.licensePlate}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">汽车类型：</label>
                            <label class="col-sm-6 control-label">[[${statement.carSeries}]]</label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">服务类型：</label>
                            <label class="col-sm-6 control-label">[[${@dict.getLabel('si_service_catalog',statement.serviceType)}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">到店时间：</label>
                            <label class="col-sm-6 control-label" th:text="${#dates.format(statement.actualArrivalTime, 'yyyy-MM-dd HH:mm')}"></label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">总消费金额：</label>
                            <label class="col-sm-6 control-label" id="totalAmount">[[${statement.totalAmount}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">实付价格：</label>
                            <label class="col-sm-6 control-label" id="actuallyPaid">[[${statement.totalAmount-statement.discountAmount}]]</label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">优惠价格：</label>
                            <input class="col-sm-6" id="discountAmount" type="number" onchange="discountFun()" name="discountAmount" th:field="${statement.discountAmount}"/>
                        </div>
                    </div>
                </div>
            </div>
            <div class="btn-group-sm" id="item-toolbar" role="group">
                <a id="saveBtn" class="btn btn-success" onclick="saveFun()" shiro:hasPermission="business:statementItem:add">
                    <i class="fa fa-plus"></i> 保存
                </a>
                <a id="payBtn" class="btn btn-info" onclick="payFun()" shiro:hasPermission="business:statementItem:payStatement">
                    <i class="fa fa-cc-visa"></i> 确认支付
                </a>

            </div>
            <div class="col-sm-12 select-table table-striped">
                <table id="item-table"></table>
            </div>
        </div>
    </div>
</div>
<div class="ui-layout-east">
    <div class="col-sm-12 search-collapse">
        <form id="post-form">
            <div class="select-list">
                <ul>
                    <li>
                        名称：<input type="text" name="name"/>
                    </li>
                    <li>
                        是否套餐：
                        <select name="packageStatus" th:with="type=${@dict.getType('si_car_package')}">
                            <option value="">所有</option>
                            <option th:each="dict : ${type}" th:text="${dict.label}"
                                    th:value="${dict.value}"></option>
                        </select>
                    </li>
                    <li>
                        服务分类：
                        <select name="catalogStatus" th:with="type=${@dict.getType('si_service_catalog')}">
                            <option value="">所有</option>
                            <option th:each="dict : ${type}" th:text="${dict.label}"
                                    th:value="${dict.value}"></option>
                        </select>
                    </li>
                    <li>
                        <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
                                class="fa fa-search"></i>&nbsp;搜索</a>
                    </li>
                </ul>
            </div>
        </form>
        <div class="col-sm-12 select-table table-striped">
            <table id="bootstrap-table"></table>
        </div>
    </div>
</div>
</body>
<th:block th:include="common/include :: footer"/>
<th:block th:include="common/include :: layout-latest"/>
<script>
    $('body').layout({
        east__size: '35%',
    });

    var prefix = ctx + "/business/serviceItem";
    $(function () {
        var options = {
            url: prefix + "/query?saleStatus="+1,
            sortName: "seq",
            uniqueId:"id",
            modalName: "服务单项",
            columns: [
                {
                    field: 'id',
                    title: '服务项id',
                    visible: false
                },
                {
                    field: 'name',
                    title: '服务项名称',
                    sortable: true
                },

                {
                    field: 'originalPrice',
                    title: '服务项原价',
                    sortable: true
                },


                {
                    field: 'info',
                    title: '备注信息',
                    sortable: true,
                    formatter: function (value, row, index) {
                        return $.table.tooltip(value, 0);
                    }
                },


                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions =[];
                        //下架的条件：上架的状态（显示）；
                        actions.push('<a class="btn btn-warning btn-xs" href="javascript:void(0)" ' +
                            'onclick="addOn(\'' + row.id + '\')"><i class="fa fa-plus"></i></a> ');
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);

    });


    var statementItemId = [[${statement.id}]];
    $(function () {
        var options = {
            toolbar: "item-toolbar",
            id:"item-table",
            uniqueId:"itemId",
            url: "/business/statementItem" + "/query?statementId=" + statementItemId,
            sortName: "seq",
            columns: [
                {
                    field: 'id',
                    title: '服务项id',
                    visible: false
                },
                {
                    field: 'itemName',
                    title: '服务项名称',
                    sortable: true
                },
                {
                    field: 'itemPrice',
                    title: '服务项价格',
                    sortable: true
                },

                {
                    field: 'itemQuantity',
                    title: '购买数量',
                    sortable: true
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions =[];
                        //下架的条件：上架的状态（显示）；
                        actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" ' +
                            'onclick="addOn(\'' + row.itemId + '\')"><i class="fa fa-plus"></i></a> ');
                        actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" ' +
                            'onclick="reduceOff(\'' + row.itemId + '\')"><i class="fa fa-magic"></i></a> ');
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);

    });
    function saveFun() {
        $.modal.confirm("确定要保存吗",function () {
            var data= $('#item-table').bootstrapTable('getData',false);
            var discountAmount = $('#discountAmount').val();
            data.push({"itemPrice":discountAmount,"statementId":[[${statement.id}]]});
            console.log(data);
            var config = {
                url: ctx + "/business/statementItem/saveItems",
                type: 'post',
                dataType: 'json',
                contentType:"application/json",
                data: JSON.stringify(data),
                beforeSend: function () {
                    $.modal.loading("正在处理中，请稍后...");
                },
                success: function(result) {
                    $.modal.reload();
                    $("#saveBtn").addClass("disabled");
                    $("#payBtn").removeClass("disabled");
                    $.operate.ajaxSuccess(result);
                }
            };
            $.ajax(config)
        })
    }

    function payFun () {
        $.modal.confirm("确定要支付吗",function () {
            $.operate.get("/business/statementItem/pay?statementId="+[[${statement.id}]],function () {
                var  url ="business/statementItem/itemDetail?statementId="+[[${statement.id}]];
                $.modal.openTab("结算单明细", url);

            })
            //$.modal.reload();
        })
    }

    function addOn(id) {
        //拿到所右边一条数据
        var data = $('#bootstrap-table').bootstrapTable('getRowByUniqueId',id);
        var newData = [{itemId:id,itemName:data.name,itemPrice:data.originalPrice,itemQuantity:1}]
        console.log(data);
        //拿到中间表中的数据
        var item = $("#item-table").bootstrapTable("getRowByUniqueId",id);
        if (item) {
            $('#item-table').bootstrapTable('updateCellByUniqueId', {
                id: id,
                field: 'itemQuantity',
                value: item.itemQuantity+=1
            })
        }else {
            $("#item-table").bootstrapTable("append",newData);
        }

        discountFun()
    }

    function reduceOff(id) {
        var data = $('#item-table').bootstrapTable('getRowByUniqueId',id);
        console.log(data);
        if (data.itemQuantity <1 ){
            $('#item-table').bootstrapTable('removeByUniqueId',data.itemId);
        }else {
            $('#item-table').bootstrapTable('updateCellByUniqueId', {
                id: id,
                field: 'itemQuantity',
                value: data.itemQuantity-=1
            })
        }

        discountFun()
    }

    function discountFun() {
        var data= $('#item-table').bootstrapTable('getData',false);
        console.log(data);
        var totalCount =0
        $.each(data,function (index,ele) {
            if (ele.itemId) {
                totalCount += ele.itemPrice * ele.itemQuantity
            }
        })

        $('#totalAmount').html(totalCount)

        var discountAmount = $('#discountAmount').val();


        if (!discountAmount) {
            $('#discountAmount').val(0);
            return
        }

        if (!data.length) {
            $('#totalAmount').html(0)
            $('#discountAmount').val(0);
            $("#actuallyPaid").html(0)
            return
        }

        if (discountAmount<0) {
            $('#discountAmount').val(0);
            return
        }

        if (discountAmount > totalCount) {
            $('#discountAmount').val(0);
            return;
        }

        $("#actuallyPaid").html(totalCount-discountAmount)
    }

</script>
</html>